/*=============================================================================
  PS2_RERender.cpp : implementation of the Rendering RenderElements pipeline.
  Copyright (c) 2001 Crytek Studios. All Rights Reserved.

  Revision history:
    * Created by Honitch Andrey

=============================================================================*/

#include "StdAfx.h"
#include "NULL_Renderer.h"
#include "I3DEngine.h"

#include "CREParticle.h"

//=======================================================================

bool CRESky::mfDraw(CShader *ef, SShaderPass *sfm)
{
  return true;
}

bool CREHDRSky::mfDraw( CShader *ef, SShaderPass *sfm )
{
  return true;
}

bool CREFogVolume::mfDraw( CShader* ef, SShaderPass* sfm )
{
  return true;
}

bool CREWaterVolume::mfDraw( CShader* ef, SShaderPass* sfm )
{
  return true;
}

void CREWaterOcean::FrameUpdate()
{

}

void CREWaterOcean::Create(  uint32 nVerticesCount, SVF_P3F_C4B_T2F *pVertices, uint32 nIndicesCount, uint16 *pIndices )
{
  
}

void CREWaterOcean::ReleaseOcean()
{
}

bool CREWaterOcean::mfDraw( CShader* ef, SShaderPass* sfm )
{
  return true;
}

CREOcclusionQuery::~CREOcclusionQuery()
{
  mfReset();
}

void CREOcclusionQuery::mfReset()
{
  m_nOcclusionID = 0;
}

uint32 CREOcclusionQuery::m_nQueriesPerFrameCounter = 0;
uint32 CREOcclusionQuery::m_nReadResultNowCounter = 0;
uint32 CREOcclusionQuery::m_nReadResultTryCounter = 0;

bool CREOcclusionQuery::mfDraw(CShader *ef, SShaderPass *sfm)
{
  return true;
}
bool CREOcclusionQuery::mfReadResult_Now(void)
{
  return true;
}
bool CREOcclusionQuery::mfReadResult_Try(uint32 nDefaultNumSamples)
{
  return true;
}
bool CREOcclusionQuery::RT_ReadResult_Try(uint32 nDefaultNumSamples)
{
  return true;
}

bool CREMeshImpl::mfPreDraw(SShaderPass *sl)
{
  return true;
}

bool CREMeshImpl::mfDraw(CShader *ef, SShaderPass *sl)
{
  return true;
}

bool CREFlare::mfCheckVis(CRenderObject *obj)
{
  return false;
}

bool CREFlare::mfDraw(CShader *ef, SShaderPass *sfm)
{
  return true;
}

bool CREHDRProcess::mfDraw(CShader *ef, SShaderPass *sfm)
{
  return true;
}

bool CREDeferredShading::mfDraw(CShader *ef, SShaderPass *sfm)
{
  return true;
}

bool CREBeam::mfDraw(CShader *ef, SShaderPass *sl)
{
  return true;
}

bool CREImposter::mfDraw(CShader *ef, SShaderPass *pPass)
{
  return true;
}

bool CRECloud::mfDraw(CShader *ef, SShaderPass *pPass)
{
  return true;
}

bool CRECloud::UpdateImposter(CRenderObject *pObj)
{
  return true;
}

bool CRECloud::GenerateCloudImposter(CShader *pShader, SRenderShaderResources *pRes, CRenderObject *pObject)
{
	return true;
}

bool CREImposter::UpdateImposter()
{
  return true;
}

bool CREParticle::mfPreDraw(SShaderPass *sl)
{
	return true;
}

bool CREParticle::mfDraw(CShader* ef, SShaderPass* sfm)
{
	return true;
}

bool CREVolumeObject::mfDraw(CShader* ef, SShaderPass* sfm)
{
	return true;
}


#if !defined(EXCLUDE_DOCUMENTATION_PURPOSE)
bool CREPrismObject::mfDraw(CShader* ef, SShaderPass* sfm)
{
	return true;
}
#endif // EXCLUDE_DOCUMENTATION_PURPOSE

bool CRELightPropagationVolume::mfPreDraw(SShaderPass *sl)
{
	return true;
}

void CRELightPropagationVolume::UpdateRenderParameters()
{

}

bool CRELightPropagationVolume::mfDraw(CShader* ef, SShaderPass* sfm)
{
	return true;
}
void CRELightPropagationVolume::InsertLight( const CDLight &light )
{

}

CRELightPropagationVolume::Settings* CRELightPropagationVolume::GetFillSettings()
{
	return NULL;
}

void CRELightPropagationVolume::DuplicateFillSettingToOtherSettings()
{
}

bool CREGameEffect::mfDraw(CShader* ef, SShaderPass* sfm)
{
	return true;
}

void CREBreakableGlass::mfPrepare(bool bCheckOverflow)
{

}

bool CREBreakableGlass::mfDraw(CShader* pShader, SShaderPass* pShaderPass)
{
	return true;
}
